package GestioneUtente;


/**
 * La classe UTENTE permette di definire un oggetto che descrive con gli 
 * ATTRIBUTI necessari a identificare e gestire un utente
 *
 */
public class Utente {
	
//PARAMETRI/////////////////////////////////////////////////////////////////////
	private String id;
	private String nome;
	private String cognome;
	private String dataNascita; 
	private String password;
	private String telefono;
	private String email;
	private String citta;
	private String idirizzo;
	private String cap;
	private String dataIscrizione;
    private boolean admin;
   
//COSTRUTTORI////////////////////////////////////////////////////////////////// 	
	public Utente() {
	}

//METODI/////////////////////////////////////////////////////////////////////// 
//MEDOTI GET

/**
 * Restituisce il campo id dell'oggetto UTENTE.
 * 
 * @return l'identificativo associato all'utente.
 */
			
 public String getId() {
	    return id;
 }
		

/**
 * Restituisce il campo nome dell'oggetto UTENTE.
 * 
 * @return il nome associato all'utente.
 */

	public String getNome() {
		   return nome;
	}
	
/**
 * Restituisce il campo cognome dell'oggetto UTENTE.
 * 
 * @return il cognome associato all'utente.
 */
	public String getCognome() {
		   return cognome;
	}

	
	public String getDataNascita() {
		   return dataNascita;
		
	}
	
/**
 * Restituisce il campo password dell'oggetto UTENTE.
 * 
 * @return la password associato all'utente.
 */
		public String getPassword() {
			return password;
		}

		
/**
 * Restituisce il campo password dell'oggetto UTENTE con i caratteri oscurati.
 * 
 * @returnla password associato all'utente.
 */
		public String getPasswordAnonima(){
			try
			{
			String psw="";
            for(int i=0; i<password.length();i++){
            	psw=psw+"*";
            }
            
			return psw;
			}
			catch(Exception exc){
		    System.out.println("Inpossibile visualizzare la pagina. Utente non loggato");
		    return "";
			}
		} 

		
		
/**
 * 	Restituisce il campo telefono dell'oggetto UTENTE.
 * 	
 * @return il numero di telefono associato all'utente.
 */
public String getTelefono(){
	   return telefono;
			
		}


/**
 *Restituisce il campo email dell'oggetto UTENTE.
 * 
 * @return l'email associata all'utente.
 */
	public String getEmail() {
		return email;
	}

	
/**
 *Restituisce il campo citta dell'oggetto UTENTE.
 * 
 * @return la citta dell'utente.
 */
	public String getCitta(){
		return citta;
	}

	
/**
 * Restituisce il campo indirizzo dell'oggetto UTENTE.	
 * 
 * @return l'indirizzo dell'utente.
 */
public String getIndirizzo(){
	   return idirizzo;
     }


/**
 *Restituisce il campo cap dell'oggetto UTENTE.
 * 
 * @return il cap dell'utente.
 */
public String getCap(){
	   return cap;
     }


/**
 * Restituisce il campo dataIscrizione dell'oggetto UTENTE.
 * 
 * @return la data di iscrizione dell'utente.
 */
public String getDataIscrizione(){
	   return dataIscrizione;
}


/**
 * Restituisce il campo admin dell'oggetto UTENTE
 * 
 * @return <code>TRUE</code> se l'utente risulta essere amministratore.
 * Ritorna <code>FALSE</code> altrimenti
 */
public boolean isAdmin(){
	return admin;
}
	
//MEDOTI SET///////////////////////////////////////////////////////////////////
	
/**
 * Setta il campo id dell'oggetto UTENTE.
 * 
 * @param id rappresenta l'identificativo da assegnare all'utente.
 */
public void setId(String id) {
	this.id = id;
}


/**
 * Setta il campo nome dell'oggetto UTENTE.
 * 
 * @param nome rappresenta il nome da assegnare all'utente.
 */
public void setNome(String nome) {
		this.nome = nome;
	}


/**
 * Setta il campo cognome dell'oggetto UTENTE.
 * 
 * @param cognome rappresenta il cognome da assegnare all'utente.
 */
public void setCognome(String cognome) {
		this.cognome = cognome;
	}


/**
 * Setta il campo DataNascita dell'oggetto UTENTE.
 * 
 * @param cognome rappresenta il la data di nascita da assegnare all'utente.
 */
public void setDataNascita(String data) {
	

	this.dataNascita= data;
}


/**
 * Setta il campo password dell'oggetto UTENTE.
 * 
 * @param password rappresenta la password da assegnare all'utente.
 */
public void setPassword(String password) {
	this.password = password;
}


/**
 * Setta il campo telefono dell'oggetto UTENTE.
 * 
 * @param telefono rappresenta il numero di telefono dell'utente.
 */
public void setTelefono(String telefono) {
	this.telefono = telefono;
}


/**
 * Setta il campo email dell'oggetto UTENTE.
 * 
 * @param email rappresenta l'email dell'utente.
 */
	public void setEmail(String email) {
		this.email = email;
	}


/**
 * Setta il campo citta dell'oggetto UTENTE.
 * 
 * @param citta rappresenta la citta dell'utente.
 */
public void setCitta(String citta) {
		this.citta = citta;
	}


/**
 * Setta il campo indirizzo dell'oggetto UTENTE.
 * 
 * @param idirizzo rappresenta l'indirizzo dell'utente.
 */
public void setIdirizzo(String idirizzo) {
	this.idirizzo = idirizzo;
}


/**
 * Setta il campo cap dell'oggetto UTENTE.
 * 
 * @param cap rappresenta l'indirizzo dell'utente.
 */
public void setCap(String cap) {
	this.cap = cap;
}

/**
 * Setta il campo dataIscrizione dell'oggetto UTENTE.
 * 
 * @param dataIscrizione rappresenta la data di iscrizione dell'utente.
 */
public void setDataIscrizione(String dataIscrizione) {
	this.dataIscrizione = dataIscrizione;
}


/**
 * Setta il campo admin dell'oggetto UTENTE.Se la stringa x contiene 
 * <code>TRUE</code> o <code>True</code> il campo admin di UTENTE viene settato 
 * a <code>true</code>, altrimenti a <code>false</code>.
 * 
 * @param x rappresenta la stringa passata.
 */
public void setAdmin(String x) {
	
	if(x.equals("TRUE")||x.equals("true")|| x.equals("t"))
	    this.admin=true;
	else
		this.admin=false;
	
}


}





